<?php 

	include("config.php");
    include(INCLUDEDIR."core.php");
	include("acceso.php");
	
	$tpl = new Plantilla();
	$tpl->setPlantilla("tpl.morosos.html");
	$tpl->prepare();

	Post2Get();	
	
	$texto = isset($_GET['texto'])?sanitizar($_GET['texto']):"";
	
	$id_instituto = isset($_GET['id_instituto'])?intval($_GET['id_instituto']):0;
	$id_tipomoroso = isset($_GET['id_tipomoroso'])?intval($_GET['id_tipomoroso']):0;
	$tipo_orden = isset($_GET['tipo_orden'])?intval($_GET['tipo_orden']):0;
	$tipo_direccion = isset($_GET['tipo_direccion'])?intval($_GET['tipo_direccion']):0;
	
	$tipomorosos = array( 	"1"	 => "Deben dinero",
							"2"  => "Se le debe dinero" );
	$institutos = db::getArrayKey("SELECT id_instituto, nombre_instituto FROM institutos ORDER BY nombre_instituto ASC");
	$camposorden = array( 	"0" => "Nombre",
							"1" => "Saldo",
							"2" => "Instituto");
	$camposdireccion = array(	"0" => "Ascendente",
								"1" => "Descendente");						
		

	$tpl->newBlock("FORMULARIOPERSONA");
	$tpl->assign("texto",$texto);	
	$tpl->assign("comboinstitutos",genCombo("id_instituto",$institutos,$id_instituto,"-- Todos los Institutos --"));
	$tpl->assign("combomorosos",genCombo( "id_tipomoroso",$tipomorosos,$id_tipomoroso,"-- Todos --"));
	$tpl->assign("comboorden",genCombo("tipo_orden",$camposorden,$tipo_orden,""));
	$tpl->assign("combodireccion",genCombo("tipo_direccion",$camposdireccion,$tipo_direccion,""));
	
	$query = "SELECT __CAMPOS__ FROM personas LEFT JOIN institutos ON personas.id_instituto = institutos.id_instituto __WHERE__ ";		
			

			
		
	$filtros = array();
	
	if($id_tipomoroso==0) {
		if($id_tipomoroso==0) $filtros[] = "getSaldo(personas.id_persona)<>0";
	}
	if($id_tipomoroso==1) {
		$filtros[] = "getSaldo(personas.id_persona)<0";
	}
	if($id_tipomoroso==2) {
		$filtros[] = "getSaldo(personas.id_persona)>0";
	}
	if(strlen($texto)>1) {
		$filtros[] = db::SearchText($texto,array ("personas","institutos") );
	}
	if($id_instituto>0) {
		$filtros[]= "personas.id_instituto = '$id_instituto'";	
	}
	if(count($filtros)>0) {
		$query = str_replace("__WHERE__","WHERE (".implode(" AND ",$filtros).")",$query);	
	} else {
		$query = str_replace("__WHERE__","",$query);	
	}
	if($tipo_orden==0) $campoorden = "personas.nombre_persona";	
	if($tipo_orden==1) $campoorden = "saldo";	
	if($tipo_orden==2) $campoorden = "institutos.nombre_instituto";	
	if($tipo_direccion==0) $direccion=="ASC"; else $direccion = "DESC";

	$orden = "ORDER BY $campoorden $direccion ";	
	
	// PAGINACION 
	$maxitems = 1000;	
	$totalitems =intval(db::ExecuteScalar(str_replace("__CAMPOS__","count(*)",$query)));
	$totalpaginas = ceil($totalitems/$maxitems);
	$pagina_actual = intval($_GET['pa']);
	$offset = $pagina_actual*$maxitems;
	$tpl->assign("paginacion",paginacion($totalpaginas,$pagina_actual,$totalitems));
	// PAGINACION
	
	$campos = "	personas.*,
				institutos.*,
				getSaldo(personas.id_persona) as saldo, 
				getFechaUltimoPago(personas.id_persona) as fecha_pago";
				
	$consulta = str_replace("__CAMPOS__",$campos,$query).$orden." LIMIT $maxitems OFFSET $offset";
	$result = mysql_query($consulta);
	if($result && mysql_num_rows($result)>0) {
		$tpl->newBlock("LISTAPERSONAS");	
		$saldo = 0;
		$total_tiene = 0;
		$total_debe = 0;
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("FILAPERSONA");
			foreach($fila as $key => $value) {
				$tpl->assign($key,$value);	
			}
			$saldo = $fila['saldo'];
			$total=$total+$saldo;
			$color = $saldo<0?"red":"green";
			$campo  = $saldo<0?"saldo_debe":"saldo_tiene";
			if($saldo<0) $total_debe+=abs($saldo);
			else $total_tiene+=$saldo;
			$tpl->assign($campo,color(tomoney(abs($saldo)),$color));			
			$tpl->assign('fecha_pago',db_a_fecha($fila['fecha_pago']));
		}
		$tpl->newBlock("FILATOTAL");
		$color = $total<0?"red":"blue";
		$tpl->assign("total_debe",tomoney($total_debe));
		$tpl->assign("total_tiene",tomoney($total_tiene));
		
	} else {
		$tpl->newBlock("SINRESULTADOS");	
	}
	
	$tpl->Mostrar();
?>